<?php

class FeedbackAction extends Action {

    private $smarty;
    private $em;

    function __construct($smarty, $em) {
        $this->smarty = $smarty;
        $this->em = $em;
    }

    public function enviarFeedback() {
        //validar dados email e mensagem, se tiver ok registrar
        require_once './Model/Feedback.php';  //importe
        $feedbackReturn; //Variavel que vai ser enviada para o template
        $feedbackExec = true; //Variavel para validar se o processo foi executado completamente
        $feedback = new Feedback();   //instanciando objeto, feedback é a model
        if (isset($_POST["message"])) {
            $feedback->setMessage($_POST["message"]);  //ctrl+shif+pra baixo
        } else {
            $feedbackReturn = "Erro ao buscar a mensagem";
            $feedbackExec = false;
        }

        if ($feedbackExec) {
            if (isset($_POST["email"])) {
                $feedback->setEmail($_POST["email"]);
            } else {
                $feedbackReturn = "Erro ao buscar email";
                $feedbackExec = false;
            }
        }

        if ($feedbackExec) {
            if ($feedback->getEmail() == null || empty($feedback->getEmail())) {
                $feedbackReturn = "O campo email é obrigatório.";
                $feedbackExec = false;
            }
        }

        if ($feedbackExec) {
            if ($feedback->getMessage() == null || empty($feedback->getMessage())) {
                $feedbackReturn = "O campo mensagem é obrigatório.";
                $feedbackExec = false;
            }
        }

        if ($feedbackExec) {
            $feedbackService = new FeedbackService($this->em);
            $feedbackReturn = (($feedbackService->insert($feedback)) ? "Sucesso " : "Ocorreu um erro ") . " ao enviar a mensagem.";
        }

        $this->smarty->display("feedback.tpl");
        $this->smarty->assign("teste", "aaa");
    }
}
